A cluster of computer systems is a group of interconnected computer nodes that has central logic. The central logic may be distributed, but could also be centralized in a single device. Most current cluster implementations involve computer systems connected by a single type of network. That is, the cluster exists only on a single type of network that is used to implement the clustering. Although the computer systems within the cluster may be connected to other network types, the other network types do not allow the clustering connection between computer systems. In such cluster implementations, users and applications have only one choice of network to use for cluster communication or other type of communication between clustered computer systems.
Certain cluster implementations allow the cluster to be configured for communication with different capabilities of a network supported by the nodes. Currently two different mechanisms are commonly employed for choosing network configuration in a cluster (i.e., what network capabilities will be used for cluster communication). One mechanism involves user input to choose a network configuration for a particular end-user application. Thus, the user configures the application to use a chosen network configuration. NFS Mount is one example of a mechanism that requires runtime user input for network selection. Such control can be automated by integrating user choices into scripts or tools. Another mechanism is to incorporate network capability negotiation into a protocol, which would then be executed upon establishing a clustering communication connection. iSCSI (Internet Small Computer System Interface) is one example of such a mechanism. However, iSCSI, like other protocol negotiation schemes assumes a particular class of network (e.g., Ethernet), and then negotiation is specific to parameters of the particular network class. The protocol negotiation mechanisms do not allow for selection of different network types.
Another mechanism that is less commonly employed for choosing a network configuration is physical layer network negotiation between two ports of the cluster network irrespective of application. Such a mechanism is sometimes referred to as “autoconfig.” Ethernet, Infiniband, and FibreChannel all provide such capabilities to negotiate bandwidth. However, autoconfig is primarily limited to negotiating network bandwidth, and like the mechanisms discussed above, autoconfig is limited to one network type.